package com.yida.gwj.config.service;

import com.yida.gwj.config.domain.GwjConfBankRate;
import com.yida.gwj.config.domain.dto.GwjConfBankRateDTO;
import com.yida.gwj.config.domain.request.GwjConfBankRateRequest;
import com.yida.gwj.config.domain.request.GwjConfigBankRateRequest;

import java.util.List;

/**
 * 银行利率配置Service接口
 *
 * @author ruoyi
 * @date 2023-03-01
 */
public interface IGwjConfBankRateService {
    /**
     * 查询银行利率配置
     *
     * @param id 银行利率配置主键
     * @return 银行利率配置
     */
    public GwjConfBankRate selectGwjConfBankRateById(Long id);

    /**
     * 查询银行利率配置列表
     *
     * @param gwjConfBankRate 银行利率配置
     * @return 银行利率配置集合
     */
    public List<GwjConfBankRate> selectGwjConfBankRateList(GwjConfBankRate gwjConfBankRate);

    /**
     * 新增银行利率配置
     *
     * @param request 银行利率配置
     * @return 结果
     */
    public int insertGwjConfBankRate(GwjConfigBankRateRequest request);

    /**
     * 修改银行利率配置
     *
     * @param request 银行利率配置
     * @return 结果
     */
    public int updateGwjConfBankRate(GwjConfigBankRateRequest request);

    /**
     * 批量删除银行利率配置
     *
     * @param ids 需要删除的银行利率配置主键集合
     * @return 结果
     */
    public int deleteGwjConfBankRateByIds(Long[] ids);

    /**
     * 删除银行利率配置信息
     *
     * @param id 银行利率配置主键
     * @return 结果
     */
    public int deleteGwjConfBankRateById(Long id);

    /**
     * 简单利率计算
     *
     * @param request
     * @return
     */
    GwjConfBankRateDTO calculateSimpleRate(GwjConfBankRateRequest request);

}
